// 学习目标
// 能够说出简单数据类型和复杂数据类型的内存分配
// 能够说出简单类型和复杂类型如何传参


// 简单类型又叫做基本数据类型或者值类型，复杂类型又叫做引用类型
// 值类型：简单数据类型/基本数据类型，在存储时变量中存储的是值本身，因此叫做值类型
// string ，number，boolean，undefined，null

// 引用类型：复杂数据类型，在存储时变量中存储的仅仅是地址（引用），因此叫做引用数据类型
// 通过 new 关键字创建的对象（系统对象、自定义对象），如 Object、Array、Date等

// 系统会将内存分成两种,堆和栈
//栈存放基本类型,占据固定大小空间,离内存的寄存器比较近.存放相应的值 如存放"string" true等
// 堆内存中的对象不会随方法的结束而销毁
// 复杂数据类型会在栈中存放地址,然后到堆中存放值

// 简单数据类型传参
// 简单数据类型传参实际上是把变量在栈空间里的值复制了一份给了形参，在方法内部对形参做任何修改，都不会影响到任何外部变量


// 复杂数据类型传参
// 当把引用类型变量传递给形参的时候，其实是把变量在栈空间里保存的堆地址复制给了形参，形参和实参其实是保存同一个堆地址，操作的是同一个对象，因此对形参的改变也会影响到外部
// 变量
